Entities often generate and use data that is important in some way to their operations. This data can include, for example, business data, financial data, and personnel data. If this data were lost or compromised, the entity may realize significant adverse financial and other consequences. Accordingly, many entities have chosen to back up some or all of their data so that in the event of a natural disaster, unauthorized access, or other events, the entity can recover any data that was lost or compromised, and then restore that data to one or more locations, machines and/or environments.
In order to implement a backup of data, such as client data for example, a backup application on a backup server may cooperate with a backup client, or backup client agent, located on the client. The backup is created at the client and then uploaded to a storage node. If a problem occurs, such as loss of data from the client, the data in the backup can be retrieved from the storage node and restored to the client. While this general approach has proved useful, some problems and shortcomings have arisen, particularly pertaining to the backup client.
For example, some backup clients are required to perform a significant amount of processing on data before that data can be backed up and stored at a storage node. This processing can increase the overall processing overhead on the client, and can negatively impact other client operations.
As another example, some backup clients are configured so that they must be controlled locally, or on-premises, in order that a backup can be defined and performed. While this approach is acceptable in small enterprises and single client systems, it becomes problematic in large enterprises with multiple clients, since administrators have to configure and control the clients locally at each client.
In light of problems such as those noted above, and others in the art, it would be useful to provide systems, methods and devices that reduce the processing overhead of a backup client. As well, it would also be useful to enable backup processes performed by a client to be centrally configured and controlled from a remote location. It would also be useful to provide each client with a unique ID so that the configuration, state and statistics of each backup client could be tracked and collected. Finally, it would be useful to provide a backup client agent operable to interact with a suite of cloud based services that relate to backup operations.